Sometimes, despite your best efforts as a developer, you end up with unhappy users. And that's OK.
In "Consultants: It's not the theory, it's the execution", Chip Camden makes this point:
Sometimes you need to say no to user requests. (Unfortunately, not all user stories have happy endings.)
Whatever you do, there will be times when someone is unhappy with you. It matters not that you are the most talented developer ever known, or the most gifted designer that will ever be seen, someone will not like what you have done. It may be your politics, it may be your attitude, it may have no relation to reality -- you will run into people that you just can't please.
Because defining requirements is so fiendishly difficult, software developers have a special problem in this regard -- and especially when the user does not themselves know what they want, but they will "know it when I see it."
Often if you have one customer, you can completely satify them (but not always). When you have numerous customers, you will never satisfy all of their wants, even if given infinite resources; those wants may very well even be contradictory. (There are people with contradictory wants -- "the software should be so simple that I can modify it if necessary" and "the software should just know what it is that I want at that moment.")
Once you have absorbed this idea (you will not please everyone all of the time), you can then concentrate on writing code, without that fear of displeasing a customer blocking your progress.
(The rest of life is best served by learning this lesson, too.)
This is the point I was trying to make a little while ago in a conversation. Some want features that contradict, some want things which don't make sense and some don't even know what they want. There is also that small percentage which can never be pleased...
Some regard it as a "personal feature", as if always telling you it's "not the best" or "can be better" will help lower prices and push you to do even better. Usually it turns you off completely.
I've always worked extra hard for a client that said "it's great, though I wish I could have..." and go out of my way to try and get them that feature or fix. Those that automatically said "my cousin knows a guy who can do better" got the reply "go ahead, get them to do it."